Direct sequence spread spectrum (DSSS) is a popular means for radio frequency (RF) communication. The advantage of DSSS is that it creates a more robust signal that is less susceptible to interference or eavesdropping versus a traditional narrowband RF system. The key to DSSS is the ‘spreading’ of the signal across a wide frequency range. This enables DSSS to operate with a very low signal to noise ratio (SNR) and still be operable.
DSSS spreads the signal across a wide frequency range by increasing the frequency content of the data to be transmitted. In a digital data system this is typically accomplished by encoding each logical 1 and 0 of the data to be transmitted with a multi-bit word. For example, encoding data with a 10-bit word would require ten times the bandwidth to transmit versus sending a single bit of unencoded data.
In DSSS, the multi-bit word is called a pseudo-noise code (referred to herein as a PN-Code). Also, a PN-Code is commonly referred to as a multi-chip word, with a chip referring to a bit of encoded data. This means that a bit of data before encoding is referred to as a bit, whereas a bit of data after encoding with the PN-Code is referred to as a chip. Typically the transmitter replaces a logical 0 data bit with the PN-Code and a logical 1 data bit with the inverse of the PN-Code.
A DSSS receiver typically decodes the received data using a correlator circuit. The correlator circuit compares the most recently received chips against the PN-Code. The correlator then indicates a “hit” if the number of chips that are a match exceeds a pre-determined threshold level, with the pre-determined threshold level in essence controlling the hit sensitivity of the decoder.
In systems where data is sent asynchronously, a mechanism for detecting the start of a packet (SOP) is necessary. This is typically accomplished in a DSSS system by looking for the first hit detected by the correlator after a period of time during which there were no hits. In prior art DSSS systems a single PN-Code is typically used to encode both the data and the SOP indication.
Once the SOP has been detected the data packets that follow the SOP are continually decoded. In some systems, the absence of data for a specified period of time is taken as an indication of the end of a packet. In other systems an end-of-packet (EOP) indicator is used to indicate the end of a packet.
A problem that sometimes occurs when using a first match to determine the SOP is that random noise may create a false correlation hit that results in a premature SOP indicator. False correlation is a factor of chip pattern duration, the amount of over-sampling in the receiver, and the threshold level. A 32-chip pattern duration of 1 uS with 4× over-sampling and a threshold level requiring a perfect match would result in a false correlation rate of 1 in every 1000 seconds. However, the false correlation rate drops to 1 in every 2.5 mS if the correlation threshold is reduced from 32-chips to 27-chips.
Another problem that sometimes occurs when using a first match to determine the SOP is that the first part of the packet may be missed as a result of interference or because the receiver was turned on mid-packet, thus the first hit is interpreted as the SOP when in reality it is part of the data packet. The data packet would then be erroneously received as complete when in actuality only a portion of the data packet was received.
Another problem that occurs in systems that do not use an EOP indicator is that missing packets can falsely signal an EOP. The next correlator hit would then falsely be interpreted as a SOP.